<?php
/**
 * Modelo CRUD de usuários
 * @author Emanuel Melo e Renato Lenz @ PC4 Team
 */
class PC4_Crud_Usuario extends PC4_Crud_Abstrato {
	
	function __construct($tabela = 'usuarios') {
		parent::__construct($tabela);
	}
	
	/**
	 * Verifica os campos estão corretos
	 * @param array $campos
	 * @param int $id
	 * @return array com mensagens de erros
	 */
	function valida($campos, $id = 0) {
		$erros = array();
		$rs = $this->consulta(array('login' => $campos['login'], 'id <>' => $id), 1, 1);
				
		if (!empty($rs)) {
			$erros[] = "Este usuário já existe em nossa base de dados.";
		}
		if (trim($campos['senha']) == md5('') && $id == 0) {
			$erros[] = "Sua senha não pode estar em branco.";
		}
		
		return $erros;
	}
	
	function insere($umRegistro){
		$umRegistro["senha"] = md5(trim($umRegistro["senha"]));
		return parent::insere($umRegistro);
	}
	
	/**
	 * 
	 * @param array $umRegistro
	 * @param int $id
	 * @return devolve um array de erros (nomeCampo/erro) para cada campo que não passou da validação 
	 */
	function edita($umRegistro, $id, $campo = 'id', $debug = false) {

		if ($umRegistro["senha"]) {
			$umRegistro["senha"] = md5($umRegistro["senha"]);
		}
		return parent::edita($umRegistro, $id, $campo, $debug);
	}
			
}
?>